﻿using SuperX.Common.Log;
using System;
using System.Collections.Generic;
using System.Text;

namespace SuperX.Common.MSG
{
    //
    public interface IMsgCache
    {
        // 
        MsgCacheConfig MsgCacheConfig { get; }

        // 
        void Listen(IBasicObject baseObject);

        // 
        void UnListen(IBasicObject baseObject);

        // 
        void TagCurrentThread();

        // 
        void UnTagCurrentThread();

        // 
        void Reset();

        // 
        void EnableListen();

        // 
        void UnEnableListen();

        // 
        event EventHandler<MsgEventArgs> MsgReceived;
    }
}
